This disclosure relates generally to the Internet of Things (IoT), and particularly to unified message adaptation in the IoT.
The IoT is a network of physical objects or “things” embedded with electronics, software, sensors, and connectivity to enable objects to exchange data with the production, operator and/or other connected devices. IoT allows objects to be sensed and controlled remotely across existing network infrastructure, creating opportunities for more direct integration between the physical world and computer-based systems, and resulting in improved efficiency, accuracy and economic benefit.
FIG. 1 is a schematic diagram of an IoT system 1. The basic components are a data center 2 having a plurality of applications, an application gateway 3, a wide area network 4, a network of access appliances 5 and a collection of sensing devices 6. The IoT system can include applications focused on various physical world functions and systems such as, pipe management, smart electrical grid, travel & transportation, shipping logistics, home healthcare and smart city applications.
With the growth of IoT applications, the number of devices and data volume supported in IoT applications is growing dramatically. In addition, many of IoT applications are time sensitive. They require consistent low latency which can be as low as sub second or even mini-second. Besides accessing the raw data, it raises a critical challenge on the performance of messaging middleware for its in-line content based processing, which provides a flexible message content processing platform and a fast path for application event identification. Another challenge to the content based processing of messaging middleware is the capability to dynamically support various kinds of data formats, as generated by a large volume of heterogeneous IoT devices, such as Google Protocol Buffer: https://developers.google.com/protocol-buffers/docs/tutorials and Data Format Description Language (DFDL): http://www.ogf.org/dfdl/.
The characteristics of IoT Systems include large-scale devices and networks, heterogeneous sensory devices, huge volume of sensor data, massive sensors, high frequency, complex system architecture and limited resources (e.g. power) at the sensor end. The messaging-related components, such as the sensor access appliance and application gateway, need to rapidly receive sensor data and process them. The components also need to have the adaptability for heterogeneous sensory devices. Many devices produce binary messages but many produce text messages having many different formats.
One prior art solution is Data Format Description Language (DFDL) which describe text and binary data formats and leverages W3C XML Schema Definition Language (XSDL) 1.0.
DFDL is not a format for data; it is a way of describing any data format. One known DFDL Implementation is IBM WebSphere Message Broker and Daffodil, which is open source and in development. Another prior art solution is Google Protocol Buffers (GPB) which is a language-neutral, platform-neutral, extensible mechanism for serializing structured data. The GPB defines the data structure by protocol buffer language, generates source code to write and read the structured data to and from a variety of data streams and supports a variety of languages—Java, C++, or Python.
The problems with the above prior art solutions is a high parsing overhead and that they are not adaptive to parsing multiple message formats at runtime and therefore, a message specific programming interface is necessary.